package cn.fx.feignClient;

import cn.fx.domain.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

//指定此接口是feign客户端接口，括号中是调用的服务的应用名称
@FeignClient(name = "user-server", fallbackFactory = UserFallbackFactory.class)
//被调用方有一级路径，一定要加
@RequestMapping("/user")
public interface UserFeignClient {

    /**
     *  注意：
     *      1.方法名称必须和被代理接口一致
     *      2.接口参数和返回值必须和被代理方一致
     *      3.接口的请求方式必须和代理方一致
     *      4.cv要代理的接口方法，即可满足以上三点
     * @param id
     * @return
     */
    @GetMapping("/getById/{id}")
    User getById(@PathVariable("id") Long id);
}
